A single-instance storage algorithm maintains one copy of each unique piece of data, where each such unique piece of data may be shared by multiple users, multiple files, or multiple computing devices. As such, data is stored more efficiently, because there is little or no duplication of stored data. A single-instance storage algorithm may also be referred to as a de-duplication algorithm, insofar as duplicate pieces of data within a large collection of data are eliminated.
Single-instance storage is useful in a variety of contexts, including file systems, email server systems, and data backup systems. For example, a data backup system may be used to back up a large collection of data. Rather than blindly copying the large collection of data, the data backup system may employ a single-instance storage algorithm to detect duplicate pieces of data within the collection of data. Each duplicate piece of data is stored just once, to minimize the storage required for the backup.